$LOAD_PATH.unshift File.join(File.dirname(__FILE__),'..','ext_pr1/lib')
require 'ext_pr1_v4'

#eine uhrenarithmetik, die man vorstellen kann
#maximal 24h/12h, 60 min, 60 sek
#startzeit + zu_zeit = endzeit
#test((1,1,1) + (10,12,13) => (11,13,14);(0,0,1) + (1,1,60) => (1,2,1); 
#(14, 2, 24) + (9, 10, 26) => (23, 12, 50)
# (23, 59, 59) + (0, 0, 1) => (0,0,0)
#(modus !== (12 or 24) => Err)
#((start_zeit or zu_zeit) !== Array => Err
#((start_zeit or zu_zeit).length !== 3 =Err

def main(start_zeit, zu_zeit, modus)
  check_pre((
      start_zeit.array? and
      zu_zeit.array? and
      (modus == 12 or modus == 24)and
      #start_zeit.is_a?(Fixnum) == false
      #zu_zeit.is_a?(Fixnum) == false
      start_zeit.size == 3 and
      zu_zeit.size == 3 and
      start_zeit.all?{|e|e.nat?} and
      zu_zeit.all?{|e|e.nat?} and
      start_zeit.all?{|e|e < 60} and
      start_zeit[0] < 24 
    )) 
  sekunden_temp = ( start_zeit[2])+ ( zu_zeit[2])
   minuten_temp = ( start_zeit[1])+ (zu_zeit[1])
   stunden_temp = (start_zeit[0])+ ( zu_zeit[0])
  
 uebertrag([stunden_temp, minuten_temp, sekunden_temp], modus)
end

def uebertrag(end_zeit, modus_2)
    (end_zeit[2] >= 60 ?  (sekunden = end_zeit[2] - 60 
          end_zeit[1] = end_zeit[1] + 1) :
            sekunden = end_zeit[2])
    

   (end_zeit[1] >= 60 ?  (minuten = end_zeit[1] - 60
          end_zeit[0] = end_zeit[0] +1)
   : minuten = end_zeit[1])
  

   (end_zeit[0] >= modus_2 ? stunden = end_zeit[0] % modus_2
    : stunden = end_zeit[0]
   )
    return [stunden, minuten, sekunden]
end




